package 动态规划;

/**
 * @author tmh
 * @date 2024/8/18 22:29
 * @description
 */
public class T198打家劫舍 {
    public int rob(int[] nums) {
        //1.定义一个dp数组
        int len = nums.length;
        int[] dp = new int[len + 1];
        //初始化前面两个元素
        dp[0] = 0;
        dp[1] = nums[0];
        //开始求打劫前面k个房子能够得到的最大财富,k的最大值就是前面k个房子，所以能取到len
        for (int k = 2; k <= len; k++) {
            dp[k]=Math.max(dp[k-1],dp[k-2]+nums[k-1]);
        }
        return dp[len];
    }
}
